package org.zjx.common.util;

import java.util.Collection;
import java.util.Map;

/**
 * 集合工具类
 */
public class CollUtil {

    private CollUtil() {
        throw new UnsupportedOperationException("工具类不能实例化");
    }

    /**
     * 判断集合是否为空（null或size=0）
     * @param collection 待判断的集合
     * @return true-空集合，false-非空集合
     */
    public static boolean isEmpty(Collection<?> collection) {
        return collection == null || collection.isEmpty();
    }

    /**
     * 判断集合是否非空
     * @param collection 待判断的集合
     * @return true-非空集合，false-空集合
     */
    public static boolean isNotEmpty(Collection<?> collection) {
        return !isEmpty(collection);
    }

    /**
     * 判断Map是否为空（null或size=0）
     * @param map 待判断的Map
     * @return true-空Map，false-非空Map
     */
    public static boolean isEmpty(Map<?, ?> map) {
        return map == null || map.isEmpty();
    }

    /**
     * 判断Map是否非空
     * @param map 待判断的Map
     * @return true-非空Map，false-空Map
     */
    public static boolean isNotEmpty(Map<?, ?> map) {
        return !isEmpty(map);
    }

    /**
     * 判断数组是否为空（null或length=0）
     * @param array 待判断的数组
     * @return true-空数组，false-非空数组
     */
    public static boolean isEmpty(Object[] array) {
        return array == null || array.length == 0;
    }

    /**
     * 判断数组是否非空
     * @param array 待判断的数组
     * @return true-非空数组，false-空数组
     */
    public static boolean isNotEmpty(Object[] array) {
        return !isEmpty(array);
    }
}